import { Observable, catchError, of, throwError, Subscriber } from "rxjs";
// catchError允许 你捕获一个发错并返回新的Observable

const source = new Observable((subscriber) => {
  setTimeout(() => {
    // 抛出一个错误
    subscriber.error(new Error("错误"));
  }, 1000);
});
// .pipe(catchError((error) => of("正常值"))) 捕获错误，不加他直接报错
// 加了他，错误会被转化为 output: 正常值
source.pipe(catchError((error) => of("正常值"))).subscribe({
  // output: 正常值
  next: (val) => console.log("next", val),
  error: (error) => console.error("error", error),
});
//throwError是用来显示的抛出一个错误
